Passive social media contact engagement

ABSTRACT

Systems and methods for passive social media contact engagement are provided. In example embodiments, a publication that represents an item available for purchase is identified. An item image for the publication is accessed. A profile image using the item image is generated. The profile image is assigned to an entity profile, corresponding to an entity associated with the publication, of a social networking service. The assignment of the profile image causes the profile image to be displayed to members of the social networking service in place of a member profile image.

TECHNICAL FIELD

Embodiments of the present disclosure relate generally to generatingpersonalized profile content such as a profile image and, moreparticularly, but not by way of limitation, to passive social mediacontact engagement.

BACKGROUND

Entities, such as businesses, organizations, and individuals, oftenengage with members of a social networking service to increase awarenessof a particular event, product, or the entity itself. However, directlyor actively interfacing with members of a social networking service viadirect messages or similar direct communications can be a nuisance tothe members and detract from user experience.

BRIEF DESCRIPTION OF THE DRAWINGS

Various ones of the appended drawings merely illustrate exampleembodiments of the present disclosure and should not be considered aslimiting its scope.

FIG. 1 is a block diagram illustrating a networked system, according tosome example embodiments.

FIG. 2 is a block diagram illustrating an example embodiment of a socialpromotion system, according to some example embodiments.

FIG. 3 is a flow diagram illustrating an example method for identifyinga publication such as an item listing and generating profile content forthe item listing, according to some example embodiments.

FIG. 4 is a flow diagram illustrating further example operations foridentifying the item listing, according to some example embodiments.

FIG. 5 is a flow diagram illustrating further example operations forgenerating profile content for the item listing, according to someexample embodiments.

FIG. 6 is a flow diagram illustrating further example operations forgenerating profile content for the item listing, according to someexample embodiments.

FIG. 7 is a flow diagram illustrating an example method for adjustingprofile content according to engagement data, according to some exampleembodiments.

FIG. 8 is a flow diagram illustrating an example method for generatingand transmitting social networking service response messages pertainingto the item listing, according to some example embodiments.

FIG. 9 is a swim-lane diagram illustrating example communicationsbetween a social promotion system, user devices, and data sources,according to some example embodiments.

FIG. 10 is a user interface diagram depicting an example presentation ofthe generated profile content on a social networking service, accordingto some example embodiments.

FIG. 11 is a user interface diagram depicting a further examplepresentation of the generated profile content on a social networkingservice, according to some example embodiments.

FIG. 12 is a user interface diagram depicting an example responsemessage communicated to a particular user, according to some exampleembodiments.

FIG. 13 is a block diagram illustrating an example of a softwarearchitecture that may be installed on a machine, according to someexample embodiments.

FIG. 14 illustrates a diagrammatic representation of a machine in theform of a computer system within which a set of instructions may beexecuted for causing the machine to perform any one or more of themethodologies discussed herein, according to an example embodiment.

DETAILED DESCRIPTION

The description that follows includes systems, methods, techniques,instruction sequences, and computing machine program products thatembody illustrative embodiments of the disclosure. In the followingdescription, for the purposes of explanation, numerous specific detailsare set forth in order to provide an understanding of variousembodiments of the inventive subject matter. It will be evident,however, to those skilled in the art, that embodiments of the inventivesubject matter may be practiced without these specific details. Ingeneral, well-known instruction instances, protocols, structures, andtechniques are not necessarily shown in detail.

A variety of challenges arise when attempting to promote products orservices using social networking services and social messaging services.For example, an advertising campaign by an entity (e.g., business,organization, or person) using social networking service to promote aparticular product can be a nuisance or irritating to a target audienceof the advertising campaign when using advertisement banners that use aportion of the display screen, direct messages, popup advertisements, orother types of traditional online advertisements. Described below is anapproach for passively engaging with members of a social network serviceto increase awareness of events, products, or services using socialnetworking services that are personalized to a particular member. Suchpassive engagement techniques can promote awareness without detractingfrom a user experience.

In various example embodiments, a social promotion system identifies apublication on a publication system such as an item listing thatrepresents an item available for purchase. For example, the socialpromotion system identifies a particular item listing on an e-commercewebsite (e.g., EBAY®). In some instance, the social promotion systemidentifies item listings for items that are for sale at a discountedprice or are otherwise being promoted. The social promotion systemaccesses various item data or publication data including item images forthe item of the item listing. For example, the item images can comprisea photograph of the particular product of the item listing. In furtherembodiments, the item data comprises item price, description,dimensions, inventory, purchase history, and so on.

In various example embodiments, the social promotion system generates aprofile content such as a profile image using the item data. Forexample, the social promotion system generates the profile imagecomprising a depiction of the item of the item listing and an indicationof a discount or other special promotional information associated withthe item (e.g., text included in the image show the discountpercentage). In other embodiments, the social promotion system generatesother profile content such as text and images for posts or updates. Thesocial promotion system assigns the profile image, or communicates theother profile content, to an entity profile corresponding to an entityassociated with the item listing on a social networking service (e.g.,the profile image is assigned to an entity account of the entity on thesocial networking service). In these embodiments, the profile image isviewable by members of the social networking service (displayed orpresented to contacts members or other members having a relationshipwith the entity on the social network service). That is to say, theassignment of the profile image to the entity profile causes the profileimage to be displayed to members of the social networking service inplace of a member profile image. In other words, the assignment of theprofile image to the entity profile causes the profile image to bedisplayed to members of the social networking service as part of a listof social network profile images that includes social contacts of aviewing user. For example, if a particular member of the socialnetworking service has formed a relationship with the entity on thesocial networking service, the particular member can view the profileimage of the entity profile when browsing their contacts on the socialnetworking service. In these embodiments, the profile image may bespecific to the particular member. In other words, the social promotionsystem assigns the profile image such that a portion of contact membersof the entity view a different profile image that has been personalizedbased on member data for the portion of the contact members. That is tosay, the first member may view a first profile image of the entityaccount on the social networking service based on member data of thefirst member (e.g., personalized to the first member based on memberdata such as purchase history, geolocation, current job title, likes,connections, posts, and so forth) and a second member may view a secondprofile image of the entity account based on member data of the secondmember, the first profile image and the second profile image beinggenerated by the social promotion system.

In other example embodiments, the social promotion system identifies oneor more an item listing that represent items available for purchase(e.g., an item listings on an e-commerce website) and accesses item datafor respective item listing of the one or more item listings (e.g., itemimages, price, description, and available inventory) in a similar way asthat described above. The social promotion system generates a pluralityof images for respective item listings of the one or more item listings.Subsequently, the social promotion system assembles a collage or cyclingassembly of images comprising a portion of the plurality of images. Forexample, the cycling assembly of images can comprise depictions ofdifferent products for different item listing and promotionalinformation associated with the different products. The cycling assemblyof images can comprise, for example, a GIF (Graphic Interchange Format),a video, an animation, or another type of assembly comprising multipleimages that cycle.

The social promotion system assigns the cycling assembly of images tothe entity profile on the social networking service similar to thatdescribed above for the profile image. For instance, the socialpromoting system assigns an assembled GIF of current item promotions toa profile image that is representative of the entity profile or entityaccount on the social network service. In this way, a particular memberof the social networking service that has formed a relationship with theentity on the social networking service (e.g., a contact member of theentity) views the GIF in a similar manner to viewing a profile photo fora contact (e.g., a friend or follower on the social networking service)of the particular member on the social networking service. In someembodiments, the social promotion system cycles the images of thecycling assembly of images in response to a trigger (e.g., a time basedtrigger or a member engagement action trigger).

In further embodiments, the social promotion system accesses member dataof contact members of the entity (e.g., friends or followers of theentity on the social networking service). The social promotion systempersonalizes the profile image or cycling assembly of images based onthe accessed member data. For instance, the social promotion systemselects a product image for the profile image based on interestsspecified in the member data.

In still further embodiments, the social promotion system can receiveand respond to interactions with the entity by members of the socialnetwork service. For instance, a particular member of the socialnetworking service can message the entity and receive a response thatincludes information pertaining to the item depicted in the profileimage. In some embodiments, the particular member can initiate apurchase of the item associated with the profile image (e.g., a link tofacilitate the purchase of the item can be sent to the particular memberin response to a message sent by the member to the entity).

In this way, the social promotion system generates profile contentpertaining to the item listing for the entity on the social networkingservice. The profile content is personalized to contact member of theentity and viewable by contact members. The social promotion system canalso facilitate a purchase of the item listing. Such as a promotionscheme is not as intrusive as a direct message, popup advertisement, oradvertising banner that consumes display space.

With reference to FIG. 1, an example embodiment of a high-levelclient-server-based network architecture 100 is shown. A networkedsystem 102, in the example forms of a network-based publication orpayment system, provides server-side functionality via a network 104(e.g., the Internet or wide area network (WAN)) to one or more clientdevices 110. In some implementations, a user (e.g., user 106) interactswith the networked system 102 using the client device 110. FIG. 1illustrates, for example, a web client 112 (e.g., a browser, such as theINTERNET EXPLORER® browser developed by MICROSOFT® Corporation ofRedmond, Wash. State), client applications 114, and a programmaticclient 116 embodied on the client device 110. The client device 110includes the web client 112, the client application(s) 114, and theprogrammatic client 116 alone, together, or in any suitable combination.Although FIG. 1 shows one client device 110, in other implementations,the network architecture 100 comprises multiple client devices.

In various implementations, the client device 110 comprises a computingdevice that includes at least a display and communication capabilitiesthat provide access to the networked system 102 via the network 104. Theclient device 110 comprises, but is not limited to, a remote device,work station, computer, general purpose computer, Internet appliance,hand-held device, wireless device, portable device, wearable computer,cellular or mobile phone, Personal Digital Assistant (PDA), smart phone,tablet, ultrabook, netbook, laptop, desktop, multi-processor system,microprocessor-based or programmable consumer electronic, game consoles,set-top box, network Personal Computer (PC), mini-computer, and soforth. In an example embodiment, the client device 110 comprises one ormore of a touch screen, accelerometer, gyroscope, biometric sensor,camera, microphone, Global Positioning System (GPS) device, and thelike.

The client device 110 communicates with the network 104 via a wired orwireless connection. For example, one or more portions of the network104 comprises an ad hoc network, an intranet, an extranet, a VirtualPrivate Network (VPN), a Local Area Network (LAN), a wireless LAN(WLAN), a Wide Area Network (WAN), a wireless WAN (WWAN), a MetropolitanArea Network (MAN), a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a cellular telephone network, awireless network, a Wireless Fidelity (WI-FI®) network, a WorldwideInteroperability for Microwave Access (WiMax) network, another type ofnetwork, or any suitable combination thereof.

In some example embodiments, the client device 110 includes one or moreof the applications (also referred to as “apps”) such as, but notlimited to, web browsers, book reader apps (operable to read e-books),media apps (operable to present various media forms including audio andvideo), fitness apps, biometric monitoring apps, messaging apps,electronic mail (email) apps, and e-commerce site apps (also referred toas “marketplace apps”). In some implementations, the clientapplication(s) 114 include various components operable to presentinformation to the user and communicate with networked system 102. Insome embodiments, if the e-commerce site application is included in theclient device 110, then this application is configured to locallyprovide the user interface and at least some of the functionalities withthe application configured to communicate with the networked system 102,on an as needed basis, for data or processing capabilities not locallyavailable (e.g., access to a database of items available for sale, toauthenticate a user, to verify a method of payment). Conversely, if thee-commerce site application is not included in the client device 110,the client device 110 can use its web browser to access the e-commercesite (or a variant thereof) hosted on the networked system 102.

The web client 112 accesses the various systems of the networked system102 via the web interface supported by a web server 122. Similarly, theprogrammatic client 116 and client application(s) 114 accesses thevarious services and functions provided by the networked system 102 viathe programmatic interface provided by an Application Program Interface(API) server 120. The programmatic client 116 can, for example, be aseller application (e.g., the Turbo Lister application developed byEBAY® Inc., of San Jose, Calif.) to enable sellers to author and managelistings on the networked system 102 in an off-line manner, and toperform batch-mode communications between the programmatic client 116and the networked system 102.

Users (e.g., the user 106) comprise a person, a machine, or other meansof interacting with the client device 110. In some example embodiments,the user is not part of the network architecture 100, but interacts withthe network architecture 100 via the client device 110 or another means.For instance, the user provides input (e.g., touch screen input oralphanumeric input) to the client device 110 and the input iscommunicated to the networked system 102 via the network 104. In thisinstance, the networked system 102, in response to receiving the inputfrom the user, communicates information to the client device 110 via thenetwork 104 to be presented to the user. In this way, the user caninteract with the networked system 102 using the client device 110.

The API server 120 and the web server 122 are coupled to, and provideprogrammatic and web interfaces respectively to, one or more applicationserver(s) 140. The application server(s) 140 can host one or morepublication system(s) 142, payment system(s) 144, and a social promotionsystem 150, each of which comprises one or more modules or applicationsand each of which can be embodied as hardware, software, firmware, orany combination thereof. The application server(s) 140 are, in turn,shown to be coupled to one or more database server(s) 124 thatfacilitate access to one or more information storage repositories ordatabase(s) 126. In an example embodiment, the database(s) 126 arestorage devices that store information to be posted (e.g., publicationsor listings) to the publication system(s) 142. The database(s) 126 alsostores digital goods information in accordance with some exampleembodiments.

Additionally, a third party application 132, executing on third partyserver(s) 130, is shown as having programmatic access to the networkedsystem 102 via the programmatic interface provided by the API server120. For example, the third party application 132, utilizing informationretrieved from the networked system 102, supports one or more featuresor functions on a website hosted by the third party. The third partywebsite, for example, provides one or more promotional, marketplace, orpayment functions that are supported by the relevant applications of thenetworked system 102.

In various embodiments, a social networking server 134 iscommunicatively coupled to the client device 110, the third partyservers 130, and the applications servers 140 via the network 104. Inthese embodiments, the social promotion system 150 communicates messagesto members of a social networking service via the social networkingservice hosted on the social networking server 134. The social promotionsystem 150 can update and access various data stored by the socialnetworking service hosted by the social networking server 134. Forinstance, the social promotion system 150 can post updates, update aprofile image of an entity account on the social networking service,access member data of contacts of the entity prolife of the entity orthe entity account of the entity on the social networking service, andso on. In alternative embodiments the social networking service ishosted by, or is otherwise a part of, the application servers 140 andthe social promotion system 150.

The publication system(s) 142 provides a number of publication functionsand services to the users that access the networked system 102. Thepayment system(s) 144 likewise provides a number of functions to performor facilitate payments and transactions. While the publication system(s)142 and payment system(s) 144 are shown in FIG. 1 to both form part ofthe networked system 102, it will be appreciated that, in alternativeembodiments, each system 142 and 144 may form part of a payment servicethat is separate and distinct from the networked system 102. In someexample embodiments, the payment system(s) 144 may form part of thepublication system(s) 142.

In some implementations, the social promotion system 150 providesfunctionality to identify item listings personalized to a particularmember of a social networking service, generate profile content for theidentified item listings, assign the profile content to an entityaccount on the social networking service, and facilitate a purchase ofan item in the item listing among other functionality described herein.In some example embodiments, the social promotion system 150communicates with the client device 110, the third party server(s) 130,the publication system(s) 142 (e.g., retrieving listings), and thepayment system(s) 144 (e.g., purchasing an item in a listing). In analternative example embodiment, the social promotion system 150 is apart of the publication system(s) 142. The social promotion system 150will be discussed further in connection with FIG. 2 below.

Further, while the client-server-based network architecture 100 shown inFIG. 1 employs a client-server architecture, the present inventivesubject matter is, of course, not limited to such an architecture, andcan equally well find application in a distributed, or peer-to-peer,architecture system, for example. The various systems of theapplications server(s) 140 (e.g., the publication system(s) 142 and thepayment system(s) 144) can also be implemented as standalone softwareprograms, which do not necessarily have networking capabilities.

FIG. 2 is a block diagram of the social promotion system 150 thatprovides functionality to identify item listings personalized to aparticular member of a social networking service, generate profilecontent for the identified item listings, assign the profile content toan entity account on the social networking service, and facilitate apurchase of an item in the item listing among other functionalitydescribed herein, according to some example embodiments. In an exampleembodiment, the social promotion system 150 includes a presentationmodule 210, a communication module 220, an item module 230, a socialmodule 240, a content generation module 250, and a purchase module 260.All, or some, of the modules 210-260 of FIG. 2, communicate with eachother, for example, via a network coupling, shared memory, and the like.It will be appreciated that each module can be implemented as a singlemodule, combined into other modules, or further subdivided into multiplemodules. Other modules not pertinent to example embodiments can also beincluded, but are not shown.

In some embodiments, the presentation module 210 provides variouspresentation and user interface functionality operable to interactivelypresent (or cause presentation) and receive information from the user.For instance, the presentation module 210 causes presentation ofgenerated profile content, generated messages, identified publicationsand item listings, notifications, and other generated user interfaces.In various implementations, the presentation module 210 presents orcauses presentation of information (e.g., visually displayinginformation on a screen, acoustic output, haptic feedback).Interactively presenting information is intended to include the exchangeof information between a particular device and the user. The user mayprovide input to interact with the user interface in many possiblemanners such as alphanumeric, point based (e.g., cursor), tactile, orother input (e.g., touch screen, tactile sensor, light sensor, infraredsensor, biometric sensor, microphone, gyroscope, accelerometer, or othersensors). It will be appreciated that the presentation module 210provides many other user interfaces to facilitate functionalitydescribed herein. Further, it will be appreciated that “presenting” asused herein is intended to include communicating information orinstructions to a particular device that is operable to performpresentation based on the communicated information or instructions.

The communication module 220 provides various communicationsfunctionality and web services. For example, the communication module220 provides network communication such as communicating with thenetworked system 102, the client device 110, and the third partyserver(s) 130. In various example embodiments, the network communicationcan operate over wired or wireless modalities. Web services are intendedto include retrieving information from the third party server(s) 130,the database(s) 126, and the application server(s) 140. In someembodiments, information retrieved by the communication module 220comprises data associated with the user (e.g., user profile informationfrom an online account, social network service data associated with theuser), data associated with one or more items listed on an e-commercewebsite (e.g., images of the item, reviews of the item, item price), orother data to facilitate the functionality described herein.

The item module 230 provides functionality to identify publications suchas item listings, access publication data or item data for the itemlistings, and various other functionality associated with the itemlistings. For example, the item module 230 identifies publications oritem listings for items that are currently being discounted or otherwisepromoted. The item module 230 can identify items that may be of interestto a particular contact member of the entity profile on the socialnetworking service.

The social module 240 provides functionality to access various memberdata on the social networking service (e.g., hosted on the socialnetworking server 134 of FIG. 1) and perform various actions associatedwith the social networking service. For example, the social module 240identifies a plurality of members that are similar to a particularmember (e.g., by matching or nearly matching demographic data,interests, connections, and so on) and access member data for theidentified plurality of members. In another example, the social module240 assigns generated profile content to the entity profile on thesocial networking service (e.g., assigning a profile image to the entityprofile).

The content generation module 250 provides functionality to generateprofile content using a variety of data. For example, the contentgeneration module 250 generates profile content using item data, memberdata, and other data from third party servers. In a specific example,the content generation module 250 generates a profile image using itemimage included in the item data. The content generation module 250 canselect a particular item image based on the member data accessed fromthe social networking service. The profile content includes profileimages, posts, updates, likes, or other profile entries comprising text,images, videos, links, or other media types.

The purchase module 260 provides functionality to facilitate a purchaseof an item corresponding to a publication or an item listing. Forexample, responsive to a message received from a particular member onthe social networking service, the purchase module 260 initiates apurchase of the item corresponding to the item listing.

FIG. 3 is a flow diagram illustrating an example method 300 foridentifying a publication such as an item listing and generating profilecontent for the item listing. The operations of the method 300 can beperformed by components of the social promotion system 150, and are sodescribed below for the purposes of illustration.

At operation 310, the item module 230 identifies the publication such asthe item listing that represents an item available for purchase. Forexample, the item module 230 accesses a plurality of publications oritem listings from the data storage of on an e-commerce website oranother online merchant, and identifies one or more item listings. Inthis example, the item module 230 identifies item listings that arecurrently being sold at a discounted price or are otherwise beingpromoted. That is to say, the item module 230 identifies a particularitem listing comprising a discounted item listing for an item at areduced price. In some embodiments, the item module 230 identifies itemlisting that may be of interest to a particular contact member, or groupof contact members, of an entity profile on a social networking service.As will be described in more detail below, the item module 230identifies the publication using various data such as item data andmember data from the social networking service.

Turning now to FIG. 4, a flow diagram illustrating further exampleoperations for identifying the item listing is shown. In someembodiments, operation 310 includes the operations of FIG. 4.

At operation 410, the social module 240 identifies a member of thesocial networking service that has formed a relationship with the entityon the social networking service (e.g., a contact member of the entityon the social networking service). For example, the social module 240 onthe application server 140 performs an API call with an accountidentifier for an entity and account credentials to the social networkserver 134 that hosts the social networking service. In this example,the social networking service responds to the API call by providing alist of members that are social connected with the account correspondingto the account identifier. Each member has formed a relationship withthe entity on the social networking service, for example, by following,friending, liking, or otherwise connecting with the entity on the socialnetworking service. Herein, members of the social networking servicethat have formed a relationship with the entity on the social networkingservice are referred to as contact members of the entity.

At operation 420, the social module 240 accesses member data of thecontact member from a data storage of the social networking service. Themember data can include a wide variety of data associated with thecontact member. For example, the member data can include, interests,posts, likes, contacts of the contact member on the social networkingservice, job history, purchase history, member images, and so on.

At operation 430, the item module 230 identifies the item listing basedat least in part on the member data of the contact member. For example,the item module 230 matches an interest or hobby indicated by the memberdata with an item listing (e.g., ski equipment for member dataindicating an interest in skiing or other cold weather sports). In someembodiments, the social module 240 identifies similar members to thecontact member (e.g., members with matching or nearly matchinginterests, demographic data, or other member data to the identifiedmember) on the social networking service and accesses member data of theidentified similar members. In some embodiments, the identified similarmembers are contact members of the entity profile and in otherembodiments, the identified similar members are not necessarily contactmembers of the entity. In these embodiments, the item module 230identifies the item listing using the member data of the identifiedsimilar members.

Turning again to FIG. 3, at operation 320, the item module 230 accessesitem data for the identified item listing. For instance, the item datacan include item images (e.g., product images, product use images, orother images associated with the item), item price, description,dimensions, weight, inventory, purchase history data, item material(e.g., non-toxic, hypoallergenic, or another material attribute), model,brand, seller, manufacturing origin, shipping origin, estimated time toship, estimated tax, discount information, coupon information, saleprice, other promotional information, other item characteristics (e.g.,color, pattern, sale price), and so forth. In some embodiments, the itemmodule 230 accesses the item data from the data storage of thee-commerce website or online merchant and in other embodiments, the itemmodule 230 retrieves the item data from the third-party servers 130.

At operation 330, the content generation module 250 generates profilecontent using the accessed item data for the item listing. The profilecontent is intended to include images (e.g., a profile image for theentity account), text, posts, an action (e.g., performing a like), acycling assembly of images (e.g., a GIF, video, or animation), links, amember entry update, or another update that modifies a data storecorresponding to a particular account or profile of the socialnetworking service. The content generation module 250 can generate avariety of profile content using the item data. For example, the contentgeneration module 250 can generate a profile image that includes itemimages from the item data. In another example, the content generationmodule 250 can generate a cycling assembly of images or a collage ofimages using the item data (as described below in connection with FIG.5). In still other examples, the content generation module 250 cangenerate profile content such as posts, message responses, updates, andother content for the entity profile on the social networking service.In a specific example, the content generation module 250 generates aprofile image that includes an indication of a reduced price, saleprice, or other promotional information pertaining to the item of theitem listing.

In further embodiments, the content generation module 250 generates theprofile image based on a textual description of the item listing. Forinstance, the content generation module 250 generates the profile imagewith a tattered or worn image filter for a used item that the textualdescription included in the item data indicates the used item is in poorcondition. In another instance, the content generation module 250generates a profile image that is a snippet of the textual descriptionincluded in the item data for the item listing and a coloring of thetext and background of the profile image is determined based on a colorof the item as indicated by the item data. That is to say, the itemmodule 230 or the content generation module 250 extract itemcharacteristics or item attributes from the item data and the contentgeneration module 250 generates the profile content using the extracteditem characteristics or the item attributes.

In still other embodiments, the content generation module 250 generatesthe profile content, such as a profile image using other contextualdata. For example, the content generation module 250 generates theprofile image using warm colors, or a summer themed background (e.g., abeach scene background) if the member is near a geolocation where it iscurrently summer.

In some example embodiments, similar to that discussed above inconnection with operations 410 and 420 of FIG. 4, the social module 240identifies one or more contact members of the entity on the socialnetworking service and accesses member data for the identified contactmembers on the social networking service. In these embodiments, thecontent generation module 250 generates the profile content (e.g., aprofile image or a cycling assembly of images) based in part on memberdata of the contact member of the social networking service. Forinstance, if the member data indicates a size or gender of the contactmember, the content generation module 250 generates the profile image toinclude product images specific to the size and gender of the member(e.g., appropriately sized clothing based on the size of the memberindicated in the member data).

In an embodiment where the content generation module 250 generates thecycling assembly of images, the content generation module 250 orders theimages of the cycling assembly of images base in part on the member dataof the contact member. For example, the member data indicates apreference for a particular brand, the content generation module 250 canorder the images such that an image that indicates brand of the item isorder first in the cycling assembly of images.

Turning now to FIG. 5, a flow diagram illustrating further exampleoperations for generating profile content for the item listing is shown.At operation 320, the item module 230 accesses item data for theidentified item listing. Subsequently, the content generation module 250generates profile content at operation 330. In some example embodiments,operation 330 includes the operations of FIG. 5.

At operation 510, the content generation module 250 generates aplurality of cycle images for the item listing using the item data. Forexample, the content generation module 250 generates different cycleimages using different item images included in the item data.

In another example embodiment, the item module 230 identifies multipleitem listings that respectively represent multiple items available forpurchase and accesses item data for respective item listings among themultiple item listings, similar to operations 310 and 320 discussedabove. The content generation module 250 generates different cycleimages using item data from the different identified item listings. Insome embodiments, the content generation module 250 generates aparticular cycle image for each of the multiple item listings using theitem data for respective item listings.

At operation 520, the content generation module 250 assembles a cyclingassembly of images, a circulating group of images, or a collage ofimages that comprises a portion of the generated plurality of cycleimages. For example, the content generation module 250 generates a GIF,a video, or another type of animation using the generated plurality ofcycle images. In some embodiments, the content generation module 250assembles the cycling assembly of images comprising the generated cycleimages generated for at least two different item listings.

In further example embodiments, the content generation module 250 causesan adjustment, change, cycle, iteration, or other modification of thecycle images or order of the cycle images in the cycling assembly ofimages in response to a cycle trigger. For instance, the cycle triggeris triggered in response to a member action associated with the entityprofile of the social networking service, in response to a period oftime expiring, in response to a detecting a changes in a currentgeolocation of a member of the social networking service, or in responseto other such events. In a specific example, the content generationmodule 250 configures the cycling assembly of images periodically (e.g.,every 3 seconds), or based on another type of temporal trigger, to showa different one of the images of the cycling assembly of images (e.g.,in a fixed order or in a random order). In another example, thecommunication module 220 or the social module 240, detecting aparticular contact member of the entity moving within a specifiedgeolocation boundary (e.g., a specified radius around a particulargeolocation such as a 10 meter radius around a certain coffee shop), cancause the content generation module 250 to reorder the images of thecycling assembly of images. In still another example, the contentgeneration module 250 reorders or modifies the cycling assembly ofimages to coincide with when a particular promotional sale ends (e.g.,no longer displaying a promotional price once the promotion has ended).

Turning to FIG. 6, a flow diagram illustrating further exampleoperations for generating profile content for the item listing is shown.At operation 320, the item module 230 accesses item data for theidentified item listing. Subsequently, the content generation module 250generates profile content at operation 330. In some example embodiments,operation 330 includes the operations of FIG. 6.

As discussed above, the social module 240 identifies one or more contactmembers of the entity on the social networking service and accessesmember data for the identified contact members on the social networkingservice. At operation 610, the social module 240 identifies a similarmember on the social networking service that is similar to theidentified contact member (e.g., a particular member with matching ornearly matching member data to the identified member). For example, thesocial module 240 compares the member data of the identified member withmember data of candidate similar members to identified members that aresimilar to the identified member. The social module 240 can scorecandidate similar members based on matches, or near matches, betweenmember data of the identified member and the candidate similar member(e.g., same or similar age, socioeconomic status). The social module 240then identities the similar member as the highest scoring candidatesimilar member.

At operation 620, the content generation module 250 generates profilecontent based in part on the member data of the identified similarmember. For example, the content generation module 250 generates theprofile image personalized to the particular member. For example, thecontent generation module 250 infers a preference for a particular brandof product based on the member data of the similar members (e.g., themember data includes posts mentioning a particular brand name or themember “liking” a particular product or brand). The content generationmodule 250 then generates the content, such as a profile image, based onthe inferred preference. Using the member data of the similar member canbe useful in a scenario where the member data of the contact member forwhich the content generation module 250 is personalizing the generatedprofile content for, is missing, is limited, or is less descriptive ofparticular aspects of the member (e.g., few interest or hobbiesindicated by the member data or too few posts or likes indicated by themember data).

Turning back to FIG. 3, at operation 340, the social module 240 assignsthe profile content (e.g., the generated profile image or the generatedcycling assembly of images) to an entity profile on the socialnetworking service. The entity profile is associated with the itemlisting (e.g., an online retail or merchant that hosts the itemlisting). For example, the social module 240 assigns the profile imagegenerated by the content generation module 250 to the entity profile(e.g., the image that is viewable by contact members of the entity).That is to say, the social module 240 updates a data store, causing achange to the data store, corresponding to the entity profile on thesocial network system. The social module 240 assigns the profile contentto the entity profile, for example, via API calls or other communicationwith the social networking service. In a specific example, the contentgeneration module 250 generates a profile image for the entity profileand the social module 240 assigns the profile image to the entityprofile on the social networking service. In this example, the socialmodule 240 assigns the profile image to the entity profile such that theprofile image is representative of the entity account and is viewablewhere a contact photo of a contact member might otherwise be viewable.The assignment of the profile image or the cycling assembly of images tothe entity profile causes the profile image to be displayed to membersof the social networking service in place of a member profile image(e.g., viewable where a profile facial image of a member of the socialnetworking service may normally be viewable). In other words, theassignment of the profile image to the entity profile causes the profileimage to be displayed to members of the social networking service aspart of a list of social network profile images that includes socialcontacts of a viewing user (e.g., a contact member of the entity viewingthe entity profile on the social networking service).

While a particular profile image assigned to the entity profile by thesocial module 240 is viewable to a particular contact member, adifferent profile image for the entity profile can be viewable by othermember of the social networking service or different contact members.Put another way, the content generation module 250 generates a pluralityof different profile images for a same entity profile of the socialnetworking service. The social module 240 assigns the generatedplurality of different profile images to the same entity profile. Theassignment causes display of a first profile image among the pluralityof different profile images to a first member of the social networkingservice and causes display of a second profile image among the pluralityof different profile images to a second member of the social networkingservice.

FIG. 7 is a flow diagram illustrating an example method 700 foradjusting profile content according to engagement data. The operationsof the method 700 can be performed by components of the social promotionsystem 150, and are so described below for the purposes of illustration.

At operation 710, the communication module 220 receive engagement datafor the profile content. In an example embodiment, the communicationmodule 220 access the engagement data from the social networking servicethat stores engagement data for profiles and accounts of the socialnetworking service (e.g., member identifiers that have viewed aparticular profile). For example, the engagement data indicates a click,tap, or another member interaction or action associated with the profilecontent assigned to the entity profile. The engagement data can includea member identifier (e.g., operable to identify the member on the socialnetworking service), engagement context data (e.g., time, device type,device location such as geolocation detected by a GPS component of amobile device), and other data. In another example, if the profilecontent assigned to the entity profile is the cycling assembly ofimages, the engagement data can indicate a click, tap, or another memberinteraction or action pertaining to a particular image of the cyclingassembly of images.

At operation 720, the content generation module 250 adjusts the profilecontent based on the engagement data. For instance, if a particularimage of the cycling assembly of images receives a highest number ofinteractions, the content generation module 250 reorders the cyclingassembly of images with the particular image being displayed first. Inanother instance, the content generation module 250 removes a particularimage from the cycling assembly of images based on the engagement data(e.g., a particular image with little or no engagement from users ascompared to other images). In another instance, if the engagement dataindicates a particular member is not interested in the profile content,the content generation module 250 generates new profile contentpersonalized to the particular member based on the member data of theparticular member.

FIG. 8 is a flow diagram illustrating an example method 800 forgenerating and transmitting social networking service response messagespertaining to the item listing. The operations of the method 800 can beperformed by components of the social promotion system 150, and are sodescribed below for the purposes of illustration.

At operation 810, the communication module 220 or the social module 240receives a message pertaining to the item listing from a particularmember of the social networking service via the social networkingservice. For example, the particular member sends a message to theentity profile on the social networking service requesting moreinformation associated with the item listing, indicating an interest inthe item listing, or requesting purchase of the item listing.

At operation 820, the content generation module 250 or the item module230 generates a response message that includes information pertaining tothe item listing. For example, the item module 230 generates a responsemessage that includes price, description, inventory data, or other itemdata in response to the message from the particular member. In someembodiments, the item module 230 extracts a message characteristic fromthe message received from the particular member and generates theresponse message based on the extracted message characteristic. Forinstance, the message characteristic may indicate a request for similaritem listings or an inquiry as to availability in a particular size,particular color, or shipment date. The item module 230 then generatesthe response message with item data that is response to the messagecharacteristic.

In further example embodiments, the response message includes an optionto initiate a purchase of the item of the publication such as the itemlisting. For example, the response message comprises a link that whenactivated by the user executes code to facilitate purchase of the itemof the item listing. In some instances, the link is a link to thepublication at the publication system (e.g., a link to a item listing ora product listing on an e-commerce website).

At operation 830, the communication module 220 or the social module 240causes transmission of the response message to a device of theparticular member. For example, the social module 240 sends the responsemessage to the device of the particular member via the social networkingservice. In another example, the communication module 220 sends theresponse message to the device of the user via a push notification, atext message, an email, or another communication modality.

To help illustrate the concepts discussed above, FIG. 9 is a swim-lanediagram 900 illustrating an example communications between the socialpromotion system, user devices, and data sources. The diagram 900 showsvarious communications between data sources 902 (such as the socialnetworking service, an e-commerce website, a database, or a third-partyserver), the social promotion system 150, and user device 904 (e.g., theclient device 110).

At operation 310, as discussed above, the item module 230 identifies anitem listing. At operation 906, the data source 902 provides itemlistings to the social promotion system 150. That is to say, the itemmodule 230 accesses a plurality of item listings provided by, forexample, an e-commerce website or a particular local or remote database(e.g., the databases 126).

At operation 320, the item module 230 accesses item data for the itemlisting. As discussed above, the item data can include a wide variety ofdata for the item listing such as price, description, item images, andso on. At operation 908, the data source 902 provides the item data tothe social promotion system 150. That is to say, the item module 230accesses item data provided by, for example, the e-commerce website or aparticular local or remote database (e.g., the databases 126).

At operation 330, the content generation module 250 generates theprofile content using the item data. In further embodiments, atoperation 910, the content generation module 250 is provided dataaccessed or retrieved from various data sources such as member dataretrieved from the social networking service by the social module 240 ordata from third party servers retrieved by the communication module 220.

At operation 340, the social module 240 assigns the profile content tothe entity profile. For instance, the profile image generated by thecontent generation module 250 is assigned or caused to be assigned to aprofile picture position of the entity profile. For example, the socialmodule 240 communicates an instruction (e.g., via an API call) to thesocial networking service to update the entity profile with the profileimage.

At another session at another time after operation 340 is performed, atoperation 912, a user of the user devices 904 interacts with the entityprofile and the social promotion system 150 receives an indication ofthe interaction at operation 810. For example, the user may send amessage to the entity inquiring about a product or service via thesocial networking service. In another example, the user tap, clicks, orotherwise interacts with the entity on the social networking service(e.g., a profile view, a profile like, or another type of social mediainteraction).

At operation 820, the content generation module 250 or the item module230 generates a response message for the received message. In someembodiments, at operation 914, the content generation module 250 usesdata provided by various data sources such as member data retrieved bythe social module 240 from the social networking service, item dataretrieved by the item module 230, or data from third party serviceretrieved by the communication module 220.

At operation 830, the communication module 220 or the social module 240causes transmission of the response message to the user device 904 ofthe particular user. At operation 916, the user devices 904 of the userreceives the message. In some instances, the response message mayfacilitate a purchase of the item of the item listing. For instance, theresponse message can include a link to execute code to perform apurchase of the item by the user.

At operation 918, the user initiates a purchase of the item of the itemlisting and at operation 920, the purchase module 260 facilitatespurchase of the item of the item listing. For instance, the useractivates a purchase link included in the response message to executecode at the social promotion system 150 to initiate the purchase.

FIGS. 10-12 depict example user interfaces for interactively presentinginformation to the user. Although FIGS. 10-12 depict specific exampleuser interfaces and user interface elements, these are merelynon-limiting examples; many other alternate user interfaces and userinterface elements can be generated by the presentation module 210 andcause to be presented to the user. It will be noted that alternatepresentations of the displays of FIGS. 10-12 can include additionalinformation, graphics, options, and so forth. Alternatively, otherpresentations can include less information, or provide abridgedinformation for easy use by the user.

FIG. 10 is a user interface diagram 1000 depicting an examplepresentation of the generated profile content on a social networkingservice. Example user interface 1010 includes a particular member'ssocial networking profile 1020. In this example, the particular memberis viewing contacts of the particular member on the social networkingservice. Section 1030 shows the contact members of the particular user.Element 1040 shows a member entry for a particular contact member of theuser. Element 1050 is an example of a contact entry viewable by a memberof the social networking service. The contact entry comprises contactinformation such as the generated profile image generated by the contentgeneration module 250 and assigned to the profile picture position ofthe entity profile by the social module 240. In the user interface 1010,the profile image includes a particular item image and is viewable bythe particular member in a similar way as other contact profile imagesare viewable. The element 1050 can comprise a still image, a GIF, avideo, an animation, or another type of media (e.g., media with an audioor tactile output).

FIG. 11 is a user interface diagram 1100 depicting a further examplepresentation of the generated profile content on the social networkingservice. Example user interface 1110 includes element 1120 and element1130. The element 1130 is an example contact member image of the user.The element 1120 is an example of profile content generated by thecontent generation module 250 and assigned to the entity profile by thesocial module 240. For instance, the element 1120 comprises a cyclingassembly of images that show different item images such as images 1150,1160, and 1170. Callout 1140 shows different phases, cycles, orpositions of the cycling assembly of images. The content generationmodule 250 can change a current cycle of the cycling assembly of imagesin response to detecting a trigger such as a time trigger or a userinteracting with the entity profile.

FIG. 12 is a user interface diagram 1200 depicting an example responsemessage communicated to a particular user device (e.g., a smart phone).Example user interface 1210 includes a notification 1220. In variousexample embodiments, the presentation module 210 causes presentation ofthe notification 1220 to the user. For instance, the presentation module210 communicates, to the user device, instructions to present thenotification 1220. In some instances, the instructions includenotification content, generated by the presentation module 210, such asa message (e.g., pertinent information) to be presented to the user. Inexample embodiments, the notification 1220 comprises a text message,such as a push notification (e.g., via a social networking service),Short Message Service (SMS) messages, Multimedia Messaging Service(MMS), Enhanced Messaging Service (EMS), and so forth. In other exampleembodiments, the notification 1220 comprises a push notification oranother similar type of notification. In further example embodiments,the notification 1220 comprises interactive user interface elements suchas user interface elements 1230 (e.g., activating the “YES” button mayinitiate the purchase and activating the “NO” button may dismiss thenotification). In these example embodiments, the user interface elements1230 provide the user an option to make a selection (e.g., through anSMS system, mobile application).

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules can constitute eithersoftware modules (e.g., code embodied on a machine-readable medium) orhardware modules. A “hardware module” is a tangible unit capable ofperforming certain operations and can be configured or arranged in acertain physical manner. In various example embodiments, one or morecomputer systems (e.g., a standalone computer system, a client computersystem, or a server computer system) or one or more hardware modules ofa computer system (e.g., a processor or a group of processors) can beconfigured by software (e.g., an application or application portion) asa hardware module that operates to perform certain operations asdescribed herein.

In some embodiments, a hardware module can be implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware module can include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware module can be a special-purpose processor, such as aField-Programmable Gate Array (FPGA) or an Application SpecificIntegrated Circuit (ASIC). A hardware module may also includeprogrammable logic or circuitry that is temporarily configured bysoftware to perform certain operations. For example, a hardware modulecan include software executed by a general-purpose processor or otherprogrammable processor. Once configured by such software, hardwaremodules become specific machines (or specific components of a machine)uniquely tailored to perform the configured functions and are no longergeneral-purpose processors. It will be appreciated that the decision toimplement a hardware module mechanically, in dedicated and permanentlyconfigured circuitry, or in temporarily configured circuitry (e.g.,configured by software) can be driven by cost and time considerations.

Accordingly, the phrase “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented module” refers to a hardware module. Consideringembodiments in which hardware modules are temporarily configured (e.g.,programmed), each of the hardware modules need not be configured orinstantiated at any one instance in time. For example, where a hardwaremodule comprises a general-purpose processor configured by software tobecome a special-purpose processor, the general-purpose processor may beconfigured as respectively different special-purpose processors (e.g.,comprising different hardware modules) at different times. Softwareaccordingly configures a particular processor or processors, forexample, to constitute a particular hardware module at one instance oftime and to constitute a different hardware module at a differentinstance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules can be regarded as being communicatively coupled. Where multiplehardware modules exist contemporaneously, communications can be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware modules. In embodiments inwhich multiple hardware modules are configured or instantiated atdifferent times, communications between such hardware modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware modules have access.For example, one hardware module can perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module can then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules can also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein can beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein can be at least partiallyprocessor-implemented, with a particular processor or processors beingan example of hardware. For example, at least some of the operations ofa method can be performed by one or more processors orprocessor-implemented modules. Moreover, the one or more processors mayalso operate to support performance of the relevant operations in a“cloud computing” environment or as a “software as a service” (SaaS).For example, at least some of the operations may be performed by a groupof computers (as examples of machines including processors), with theseoperations being accessible via a network (e.g., the Internet) and viaone or more appropriate interfaces (e.g., an Application ProgramInterface (API)).

The performance of certain of the operations may be distributed amongthe processors, not only residing within a single machine, but deployedacross a number of machines. In some example embodiments, the processorsor processor-implemented modules can be located in a single geographiclocation (e.g., within a home environment, an office environment, or aserver farm). In other example embodiments, the processors orprocessor-implemented modules are distributed across a number ofgeographic locations.

The modules, methods, applications and so forth described in conjunctionwith FIGS. 1-12 are implemented in some embodiments in the context of amachine and an associated software architecture. The sections belowdescribe representative software architecture and machine (e.g.,hardware) architecture that are suitable for use with the disclosedembodiments.

Software architectures are used in conjunction with hardwarearchitectures to create devices and machines tailored to particularpurposes. For example, a particular hardware architecture coupled with aparticular software architecture will create a mobile device, such as amobile phone, tablet device, and the like. A slightly different hardwareand software architecture may yield a smart device for use in the“internet of things.” While yet another combination produces a servercomputer for use within a cloud computing architecture. Not allcombinations of such software and hardware architectures are presentedhere as those of skill in the art can readily understand how toimplement the inventive subject matter in different contexts from thedisclosure contained herein.

FIG. 13 is a block diagram 1300 illustrating a representative softwarearchitecture 1302, which may be used in conjunction with varioushardware architectures herein described. FIG. 13 is merely anon-limiting example of a software architecture and it will beappreciated that many other architectures may be implemented tofacilitate the functionality described herein. The software architecture1302 may be executing on hardware such as machine 1400 of FIG. 14 thatincludes, among other things, processors 1410, memory/storage 1430, andI/O components 1450. A representative hardware layer 1304 is illustratedand can represent, for example, the machine 1400 of FIG. 14. Therepresentative hardware layer 1304 comprises one or more processingunits 1306 having associated executable instructions 1308. Executableinstructions 1308 represent the executable instructions of the softwarearchitecture 1302, including implementation of the methods, modules andso forth of FIGS. 1-12. Hardware layer 1304 also includes memory andstorage modules 1310, which also have executable instructions 1308.Hardware layer 1304 may also comprise other hardware 1312, whichrepresents any other hardware of the hardware layer 1304, such as theother hardware illustrated as part of machine 1400.

In the example architecture of FIG. 13, the software architecture 1302may be conceptualized as a stack of layers where each layer providesparticular functionality. For example, the software architecture 1302may include layers such as an operating system 1314, libraries 1316,frameworks/middleware 1318, applications 1320 and presentation layer1344. Operationally, the applications 1320 or other components withinthe layers may invoke application programming interface (API) calls 1324through the software stack and receive a response, returned values, andso forth illustrated as messages 1326 in response to the API calls 1324.The layers illustrated are representative in nature and not all softwarearchitectures have all layers. For example, some mobile or specialpurpose operating systems may not provide the frameworks/middleware1318, while others may provide such a layer. Other softwarearchitectures may include additional or different layers.

The operating system 1314 may manage hardware resources and providecommon services. The operating system 1314 may include, for example, akernel 1328, services 1330, and drivers 1332. The kernel 1328 may act asan abstraction layer between the hardware and the other software layers.For example, the kernel 1328 may be responsible for memory management,processor management (e.g., scheduling), component management,networking, security settings, and so on. The services 1330 may provideother common services for the other software layers. The drivers 1332may be responsible for controlling or interfacing with the underlyinghardware. For instance, the drivers 1332 may include display drivers,camera drivers, BLUETOOTH® drivers, flash memory drivers, serialcommunication drivers (e.g., Universal Serial Bus (USB) drivers), WIFI®drivers, audio drivers, power management drivers, and so forth dependingon the hardware configuration. In an example embodiment, the operatingsystem 1314 includes input service 1333 that can provide various inputprocessing services such as low-level access to touchscreen input dataor other user input data.

The libraries 1316 may provide a common infrastructure that may beutilized by the applications 1320 or other components or layers. Thelibraries 1316 typically provide functionality that allows othersoftware modules to perform tasks in an easier fashion than to interfacedirectly with the underlying operating system 1314 functionality (e.g.,kernel 1328, services 1330 or drivers 1332). The libraries 1316 mayinclude system libraries 1334 (e.g., C standard library) that mayprovide functions such as memory allocation functions, stringmanipulation functions, mathematic functions, and the like. In addition,the libraries 1316 may include API libraries 1336 such as medialibraries (e.g., libraries to support presentation and manipulation ofvarious media format such as MPREG4, H.264, MP3, AAC, AMR, JPG, or PNG),graphics libraries (e.g., an OpenGL framework that may be used to render2D and 3D in a graphic content on a display), database libraries (e.g.,SQLite that may provide various relational database functions), weblibraries (e.g., WebKit that may provide web browsing functionality),and the like. The libraries 1316 may also include a wide variety ofother libraries 1338 to provide many other APIs to the applications 1320and other software components/modules. In an example embodiment, thelibraries 1316 include input libraries 1339 that provide input tracking,capture, or otherwise monitor user input such as touchscreen input thatcan be utilized by the gesture navigation system 160.

The frameworks/middleware 1318 (also sometimes referred to asmiddleware) may provide a higher-level common infrastructure that may beutilized by the applications 1320 or other software components/modules.For example, the frameworks/middleware 1318 may provide various graphicuser interface (GUI) functions, high-level resource management,high-level location services, and so forth. The frameworks/middleware1318 may provide a broad spectrum of other APIs that may be utilized bythe applications 1320 or other software components/modules, some ofwhich may be specific to a particular operating system or platform. Inan example embodiment, the frameworks/middleware 1318 include a socialnetworking framework 1322 and an image processing framework 1323. Thesocial networking framework 1322 can provide high-level support forsocial networking API calls, protocols, profile modification functions,content upload functions, and other functions associated withinterfacing with one or more social networking services. The imageprocessing framework 1323 can provide high-level support for variousimage processing functionality to facilitate content generation.

The applications 1320 include built-in applications 1340 or third partyapplications 1342. Examples of representative built-in applications 1340may include, but are not limited to, a contacts application, a browserapplication, a book reader application, a location application, a mediaapplication, a messaging application, or a game application. Third partyapplications 1342 may include any of the built-in applications as wellas a broad assortment of other applications. In a specific example, thethird party application 1342 (e.g., an application developed using theANDROID™ or IOS™ software development kit (SDK) by an entity other thanthe vendor of the particular platform) may be mobile software running ona mobile operating system such as IOS™, ANDROID™, WINDOWS® Phone, orother mobile operating systems. In this example, the third partyapplication 1342 may invoke the API calls 1324 provided by the mobileoperating system such as operating system 1314 to facilitatefunctionality described herein. In an example embodiment, theapplications 1320 include a social application 1343 that includes aportion of the social promotion system 150 as part of the application.In another example embodiment, the applications 1320 include ane-commerce application 1345 that includes a portion of the socialpromotion system 150.

The applications 1320 may utilize built-in operating system functions(e.g., kernel 1328, services 1330 or drivers 1332), libraries (e.g.,system libraries 1334, API libraries 1336, and other libraries 1338),frameworks/middleware 1318 to create user interfaces to interact withusers of the system. Alternatively, or additionally, in some systemsinteractions with a user may occur through a presentation layer, such aspresentation layer 1344. In these systems, the application/module“logic” can be separated from the aspects of the application/module thatinteract with a user.

Some software architectures utilize virtual machines. In the example ofFIG. 13, this is illustrated by virtual machine 1348. A virtual machinecreates a software environment where applications/modules can execute asif they were executing on a hardware machine (such as the machine 1400of FIG. 14, for example). The virtual machine 1348 is hosted by a hostoperating system (operating system 1314 in FIG. 14) and typically,although not always, has a virtual machine monitor 1346, which managesthe operation of the virtual machine 1348 as well as the interface withthe host operating system (e.g., operating system 1314). A softwarearchitecture executes within the virtual machine 1348 such as anoperating system 1350, libraries 1352, frameworks/middleware 1354,applications 1356 or presentation layer 1358. These layers of softwarearchitecture executing within the virtual machine 1348 can be the sameas corresponding layers previously described or may be different.

FIG. 14 is a block diagram illustrating components of a machine 1400,according to some example embodiments, able to read instructions from amachine-readable medium (e.g., a machine-readable storage medium) andperform any one or more of the methodologies discussed herein.Specifically, FIG. 14 shows a diagrammatic representation of the machine1400 in the example form of a computer system, within which instructions1416 (e.g., software, a program, an application, an applet, an app, orother executable code) for causing the machine 1400 to perform any oneor more of the methodologies discussed herein can be executed. Forexample, the instructions 1416 can cause the machine 1400 to execute theflow diagrams of FIGS. 3-9. Additionally, or alternatively, theinstruction 1416 can implement the presentation module 210, thecommunication module 220, the item module 230, the social module 240,the content generation module 250, the purchase module 260, and soforth. The instructions 1416 transform the general, non-programmedmachine into a particular machine programmed to carry out the describedand illustrated functions in the manner described. In alternativeembodiments, the machine 1400 operates as a standalone device or can becoupled (e.g., networked) to other machines. In a networked deployment,the machine 1400 may operate in the capacity of a server machine or aclient machine in a server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine 1400 can comprise, but not be limited to, a server computer, aclient computer, a personal computer (PC), a tablet computer, a laptopcomputer, a netbook, a set-top box (STB), a personal digital assistant(PDA), an entertainment media system, a cellular telephone, a smartphone, a mobile device, a wearable device (e.g., a smart watch), a smarthome device (e.g., a smart appliance), other smart devices, a webappliance, a network router, a network switch, a network bridge, or anymachine capable of executing the instructions 1416, sequentially orotherwise, that specify actions to be taken by the machine 1400.Further, while only a single machine 1400 is illustrated, the term“machine” shall also be taken to include a collection of machines 1400that individually or jointly execute the instructions 1416 to performany one or more of the methodologies discussed herein.

The machine 1400 can include processors 1410, memory/storage 1430, andI/O components 1450, which can be configured to communicate with eachother such as via a bus 1402. In an example embodiment, the processors1410 (e.g., a Central Processing Unit (CPU), a Reduced Instruction SetComputing (RISC) processor, a Complex Instruction Set Computing (CISC)processor, a Graphics Processing Unit (GPU), a Digital Signal Processor(DSP), an Application Specific Integrated Circuit (ASIC), aRadio-Frequency Integrated Circuit (RFIC), another processor, or anysuitable combination thereof) can include, for example, processor 1412and processor 1414 that may execute instructions 1416. The term“processor” is intended to include multi-core processor that maycomprise two or more independent processors (sometimes referred to as“cores”) that can execute instructions contemporaneously. Although FIG.14 shows multiple processors 1410, the machine 1400 may include a singleprocessor with a single core, a single processor with multiple cores(e.g., a multi-core processor), multiple processors with a single core,multiple processors with multiples cores, or any combination thereof.

The memory/storage 1430 can include a memory 1432, such as a mainmemory, or other memory storage, and a storage unit 1436, bothaccessible to the processors 1410 such as via the bus 1402. The storageunit 1436 and memory 1432 store the instructions 1416 embodying any oneor more of the methodologies or functions described herein. Theinstructions 1416 can also reside, completely or partially, within thememory 1432, within the storage unit 1436, within at least one of theprocessors 1410 (e.g., within the processor's cache memory), or anysuitable combination thereof, during execution thereof by the machine1400. Accordingly, the memory 1432, the storage unit 1436, and thememory of the processors 1410 are examples of machine-readable media.

As used herein, the term “machine-readable medium” means a device ableto store instructions and data temporarily or permanently and mayinclude, but is not be limited to, random-access memory (RAM), read-onlymemory (ROM), buffer memory, flash memory, optical media, magneticmedia, cache memory, other types of storage (e.g., Erasable ProgrammableRead-Only Memory (EEPROM)) or any suitable combination thereof. The term“machine-readable medium” should be taken to include a single medium ormultiple media (e.g., a centralized or distributed database, orassociated caches and servers) able to store instructions 1416. The term“machine-readable medium” shall also be taken to include any medium, orcombination of multiple media, that is capable of storing instructions(e.g., instructions 1416) for execution by a machine (e.g., machine1400), such that the instructions, when executed by one or moreprocessors of the machine 1400 (e.g., processors 1410), cause themachine 1400 to perform any one or more of the methodologies describedherein. Accordingly, a “machine-readable medium” refers to a singlestorage apparatus or device, as well as “cloud-based” storage systems orstorage networks that include multiple storage apparatus or devices. Theterm “machine-readable medium” excludes signals per se.

The I/O components 1450 can include a wide variety of components toreceive input, provide output, produce output, transmit information,exchange information, capture measurements, and so on. The specific I/Ocomponents 1450 that are included in a particular machine will depend onthe type of machine. For example, portable machines such as mobilephones will likely include a touch input device or other such inputmechanisms, while a headless server machine will likely not include sucha touch input device. It will be appreciated that the I/O components1450 can include many other components that are not shown in FIG. 14.The I/O components 1450 are grouped according to functionality merelyfor simplifying the following discussion, and the grouping is in no waylimiting. In various example embodiments, the I/O components 1450 caninclude output components 1452 and input components 1454. The outputcomponents 1452 can include visual components (e.g., a display such as aplasma display panel (PDP), a light emitting diode (LED) display, aliquid crystal display (LCD), a projector, or a cathode ray tube (CRT)),acoustic components (e.g., speakers), haptic components (e.g., avibratory motor, resistance mechanisms), other signal generators, and soforth. The input components 1454 can include alphanumeric inputcomponents (e.g., a keyboard, a touch screen configured to receivealphanumeric input, a photo-optical keyboard, or other alphanumericinput components), point based input components (e.g., a mouse, atouchpad, a trackball, a joystick, a motion sensor, or other pointinginstruments), tactile input components (e.g., a physical button, a touchscreen that provides location and force of touches or touch gestures, orother tactile input components), audio input components (e.g., amicrophone), and the like.

In further example embodiments, the I/O components 1450 can includebiometric components 1456, motion components 1458, environmentalcomponents 1460, or position components 1462 among a wide array of othercomponents. For example, the biometric components 1456 can includecomponents to detect expressions (e.g., hand expressions, facialexpressions, vocal expressions, body gestures, or eye tracking), measurebiosignals (e.g., blood pressure, heart rate, body temperature,perspiration, or brain waves), identify a person (e.g., voiceidentification, retinal identification, facial identification,fingerprint identification, or electroencephalogram basedidentification), and the like. The motion components 1458 can includeacceleration sensor components (e.g., an accelerometer), gravitationsensor components, rotation sensor components (e.g., a gyroscope), andso forth. The environmental components 1460 can include, for example,illumination sensor components (e.g., a photometer), temperature sensorcomponents (e.g., one or more thermometers that detect ambienttemperature), humidity sensor components, pressure sensor components(e.g., a barometer), acoustic sensor components (e.g., one or moremicrophones that detect background noise), proximity sensor components(e.g., infrared sensors that detect nearby objects), gas sensorcomponents (e.g., machine olfaction detection sensors, gas detectionsensors to detect concentrations of hazardous gases for safety or tomeasure pollutants in the atmosphere), or other components that mayprovide indications, measurements, or signals corresponding to asurrounding physical environment. The position components 1462 caninclude location sensor components (e.g., a Global Positioning System(GPS) receiver component), altitude sensor components (e.g., altimetersor barometers that detect air pressure from which altitude may bederived), orientation sensor components (e.g., magnetometers), and thelike.

Communication can be implemented using a wide variety of technologies.The I/O components 1450 may include communication components 1464operable to couple the machine 1400 to a network 1480 or devices 1470via a coupling 1482 and a coupling 1472, respectively. For example, thecommunication components 1464 include a network interface component orother suitable device to interface with the network 1480. In furtherexamples, communication components 1464 include wired communicationcomponents, wireless communication components, cellular communicationcomponents, Near Field Communication (NFC) components, BLUETOOTH®components (e.g., BLUETOOTH® Low Energy), WIFI® components, and othercommunication components to provide communication via other modalities.The devices 1470 may be another machine or any of a wide variety ofperipheral devices (e.g., a peripheral device coupled via a UniversalSerial Bus (USB)).

Moreover, the communication components 1464 can detect identifiers orinclude components operable to detect identifiers. For example, thecommunication components 1464 can include Radio Frequency Identification(RFID) tag reader components, NFC smart tag detection components,optical reader components (e.g., an optical sensor to detectone-dimensional bar codes such as a Universal Product Code (UPC) barcode, multi-dimensional bar codes such as a Quick Response (QR) code,Aztec Code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code,Uniform Commercial Code Reduced Space Symbology (UCC RSS)-2D bar codes,and other optical codes), acoustic detection components (e.g.,microphones to identify tagged audio signals), or any suitablecombination thereof. In addition, a variety of information can bederived via the communication components 1464, such as location viaInternet Protocol (IP) geo-location, location via WI-FI® signaltriangulation, location via detecting a BLUETOOTH® or NFC beacon signalthat may indicate a particular location, and so forth.

In various example embodiments, one or more portions of the network 1480can be an ad hoc network, an intranet, an extranet, a virtual privatenetwork (VPN), a local area network (LAN), a wireless LAN (WLAN), a widearea network (WAN), a wireless WAN (WWAN), a metropolitan area network(MAN), the Internet, a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a plain old telephone service (POTS)network, a cellular telephone network, a wireless network, a WI-FI®network, another type of network, or a combination of two or more suchnetworks. For example, the network 1480 or a portion of the network 1480may include a wireless or cellular network, and the coupling 1482 may bea Code Division Multiple Access (CDMA) connection, a Global System forMobile communications (GSM) connection, or other type of cellular orwireless coupling. In this example, the coupling 1482 can implement anyof a variety of types of data transfer technology, such as SingleCarrier Radio Transmission Technology (1×RTT), Evolution-Data Optimized(EVDO) technology, General Packet Radio Service (GPRS) technology,Enhanced Data rates for GSM Evolution (EDGE) technology, thirdGeneration Partnership Project (3GPP) including 3G, fourth generationwireless (4G) networks, Universal Mobile Telecommunications System(UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability forMicrowave Access (WiMAX), Long Term Evolution (LTE) standard, othersdefined by various standard setting organizations, other long rangeprotocols, or other data transfer technology.

The instructions 1416 can be transmitted or received over the network1480 using a transmission medium via a network interface device (e.g., anetwork interface component included in the communication components1464) and utilizing any one of a number of well-known transfer protocols(e.g., Hypertext Transfer Protocol (HTTP)). Similarly, the instructions1416 can be transmitted or received using a transmission medium via thecoupling 1472 (e.g., a peer-to-peer coupling) to devices 1470. The term“transmission medium” shall be taken to include any intangible mediumthat is capable of storing, encoding, or carrying the instructions 1416for execution by the machine 1400, and includes digital or analogcommunications signals or other intangible medium to facilitatecommunication of such software.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Although an overview of the inventive subject matter has been describedwith reference to specific example embodiments, various modificationsand changes may be made to these embodiments without departing from thebroader scope of embodiments of the present disclosure. Such embodimentsof the inventive subject matter may be referred to herein, individuallyor collectively, by the term “invention” merely for convenience andwithout intending to voluntarily limit the scope of this application toany single disclosure or inventive concept if more than one is, in fact,disclosed.

The embodiments illustrated herein are described in sufficient detail toenable those skilled in the art to practice the teachings disclosed.Other embodiments may be used and derived therefrom, such thatstructural and logical substitutions and changes may be made withoutdeparting from the scope of this disclosure. The Detailed Description,therefore, is not to be taken in a limiting sense, and the scope ofvarious embodiments is defined only by the appended claims, along withthe full range of equivalents to which such claims are entitled.

As used herein, the term “or” may be construed in either an inclusive orexclusive sense. Moreover, plural instances may be provided forresources, operations, or structures described herein as a singleinstance. Additionally, boundaries between various resources,operations, modules, engines, and data stores are somewhat arbitrary,and particular operations are illustrated in a context of specificillustrative configurations. Other allocations of functionality areenvisioned and may fall within a scope of various embodiments of thepresent disclosure. In general, structures and functionality presentedas separate resources in the example configurations may be implementedas a combined structure or resource. Similarly, structures andfunctionality presented as a single resource may be implemented asseparate resources. These and other variations, modifications,additions, and improvements fall within a scope of embodiments of thepresent disclosure as represented by the appended claims. Thespecification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense.

What is claimed is:
 1. A system comprising: one or more hardwareprocessors; a memory storing instructions that configure the one or morehardware processors to perform operations comprising: receiving, from afirst social network account, a request to view a profile image of asecond social network account; identifying an item listing associatedwith the first social network account, the association based on memberdata of a first user associated with the first social network account,the item listing published on an ecommerce website; based on the itemlisting being associated with the first user and the first socialnetwork account, switching the profile image of the second socialnetwork account such that the switched profile image depicts item dataof the item listing; causing, via the first social network account andin response to the request, display of the switched profile image of thesecond social network account to the first user associated with thefirst social network account; receiving a plurality of requests to viewthe profile image of the second social network account from acorresponding plurality of different social network accounts associatedwith a corresponding plurality of different social network users; and inresponse to each of the plurality of requests, causing display of aprofile image customized for the respective social network userinitiating the respective request, the customized profile image modifiedto display item listing information from an ecommerce item listing thatwas viewed by the respective social network user.
 2. A method performedby a hardware processing circuitry, comprising: receiving, from a firstsocial network account, a request to view a profile image of a secondsocial network account; identifying an item listing associated with thefirst social network account, the association based on member data of afirst user associated with the first social network account, the itemlisting published on an ecommerce website; based on the item listingbeing associated with the first user and the first social networkaccount, switching the profile image of the second social networkaccount such that the switched profile image depicts item data of theitem listing; causing, via the first social network account and inresponse to the request, display of the switched profile image of thesecond social network account to the first user associated with thefirst social network account; receiving a plurality of requests to viewthe profile image of the second social network account from acorresponding plurality of different social network accounts associatedwith a corresponding plurality of different social network users; and inresponse to each of the plurality of requests, causing display of aprofile image customized for the respective social network userinitiating the respective request, the customized profile image modifiedto display item listing information from an ecommerce item listing thatwas viewed by the respective social network user.
 3. The method of claim2, further comprising: generating a plurality of different profileimages to indicate a corresponding plurality of item listings from theecommerce website based on respective member data of a correspondingplurality of social network accounts; generating a correspondingplurality of different profiles of the second social network accountbased on the plurality of different profile images; causing display ofeach of the plurality of different profiles in response to acorresponding request to view the profile of the second social networkaccount by a respective one of the plurality of social network accounts.4. The method of claim 2, further comprising: receiving an indication ofa selection of the profile image; and causing display of the itemlisting in response to the indication.
 5. The method of claim 2, furthercomprising: identifying a third social network account that is similarto the first social network account by comparing member data of thethird social network account to member data of the first social networkaccount; and generating the profile image based in part on the memberdata of the third social network account.
 6. The method of claim 2,wherein the item listing comprises a discounted publication for an itemat a reduced price and the profile image is generated to includeinformation pertaining to a discount for the discounted publication. 7.The method of claim 2, wherein the identifying of the item listing isbased on one or more of purchase history, posts or likes of the firstsocial network account.
 8. A non-transitory machine-readable mediumstoring instructions that, when executed by at least one processor of amachine, cause the machine to perform operations comprising: receiving,from a first social network account, a request to view a profile imageof a second social network account; identifying an item listingassociated with the first social network account, the association basedon member data of a first user associated with the first social networkaccount, the item listing published on an ecommerce website; based onthe item listing being associated with the first user and the firstsocial network account, switching the profile image of the second socialnetwork account such that the switched profile image depicts item dataof the item listing; causing, via the first social network account,display of the generated profile of the second social network account tothe first user associated with the first social network account;receiving a plurality of requests to view the profile image of thesecond social network account from a corresponding plurality ofdifferent social network accounts associated with a correspondingplurality of different social network users; and in response to each ofthe plurality of requests, causing display of a profile image customizedfor the respective social network user initiating the respectiverequest, the customized profile image modified to display item listinginformation from an ecommerce item listing that was viewed by therespective social network user.
 9. The machine-readable medium of claim8, wherein the operations further comprise: receiving a plurality ofrequests to view the profile image of the second social network accountfrom a corresponding plurality of different social network accountsassociated with a corresponding plurality of different social networkusers; in response to each of the plurality of requests, causing displayof a profile image customized for the respective social network userinitiating the respective request, the customized profile image modifiedto display item listing information from an ecommerce item listing thatwas viewed by the respective social network user.
 10. Themachine-readable medium of claim 8, wherein the operations furthercomprise: receiving an indication of a selection of the profile image;and causing display of the item listing in response to the indication.11. The machine-readable medium of claim 8, wherein the operationsfurther comprise: identifying a third social network account that issimilar to the first social network account by comparing member data ofthe third social network account to member data of the first socialnetwork account; and generating the profile image based in part on themember data of the third social network account.